# JAVA_OPTS="-Xms128m -Xmx128m -XX:PermSize=128m -XX:MaxPermSize=256m"

# -server:一定要作为第一个参数，在多个CPU时性能佳
# -Xms：初始Heap大小，使用的最小内存,cpu性能高时此值应设的大一些,默认是物理内存的1/64
# -Xmx：java heap最大值，使用的最大内存,建议均设为物理内存的一半,不可超过物理内存。java.lang.OutOfMemoryError: Java heap space
# -XX:PermSize:设定内存的永久保存区域,默认值为64M
# -XX:MaxPermSize:设定最大内存的永久保存区域,默认值为64M  java.lang.OutOfMemoryError: PermGen space
# -XX:SurvivorRatio=2 生还者池的大小,默认是2，如果垃圾回收变成了瓶颈，可以尝试定制生成池设置, 如果 JVM 的堆大小大于1GB，
#	则应该使用值：-XX:newSize=640m -XX:MaxNewSize=640m -XX:SurvivorRatio=16，或者将堆的总大小的 50% 到 60% 分配给新生成的池。
#   调大新对象区，减少Full GC次数。
# -XX:NewSize: 新生成的池的初始大小，默认为2M
# -XX:MaxNewSize: 新生成的池的最大大小，默认值为32M
# -XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
# -Xss：每个线程的Stack大小
# -verbose:gc 现实垃圾收集信息
# -Xloggc:gc.log 指定垃圾收集日志文件
# -Xmn：young generation的heap大小，一般设置为Xmx的3、4分之一
# -XX:+UseParNewGC ：缩短minor收集的时间
# -XX:+UseConcMarkSweepGC ：缩短major收集的时间,在Heap Size比较大而且Major收集时间较长的情况下使用更合适。
# -XX:userParNewGC 可用来设置并行收集(多CPU)
# -XX:ParallelGCThreads 可用来增加并行度(多CPU)
# -XX:UseParallelGC 设置后可以使用并行清除收集器(多CPU)
JAVA_OPTS="
	-server 
	-Dfile.encoding=UTF-8 
	-Xms=512m
	-Xmx1024m 
	-XX:PermSize=128m 
	-XX:MaxPermSize=256m
	-verbose:gc 
	-Xloggc:${CATALINA_HOME}/logs/gc.log`date +%Y-%m-%d-%H-%M` 
	-XX:+UseConcMarkSweepGC 
	-XX:+CMSIncrementalMode 
	-XX:+PrintGCDetails 
	-XX:+PrintGCTimeStamps 
	-noclassgc"
